package com.ruoyi.partybuilding.domain;

import java.util.Date;

import com.easy.query.core.annotation.EasyWhereCondition;
import com.easy.query.core.annotation.Table;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.partybuilding.common.EQuery.EQueryEntityLong;
import com.ruoyi.partybuilding.common.EQuery.IDeptEntity;
import com.ruoyi.partybuilding.common.EQuery.IEQueryEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.*;
/**
 * 荣誉管理对象 pb_honor
 * 
 * @author he-liangliang@outlook.com
 * @date 2024-11-27
 */

@ApiModel(value = "荣誉信息",description = "")
@Table("pb_honor")
@Data
public class Honor extends IDeptEntity.LongId {
    private static final long serialVersionUID = 1L;

    /** 获奖人员/组织名称 ; */
    @ApiModelProperty(value = "获奖人员组织名称")
    @Excel(name = "所属组织",sort = 1,width = 30)
    private String deptName;


    /** 荣誉名称 ; */
    @ApiModelProperty(value = "荣誉名称")
    @Excel(name = "荣誉名称",sort = 5,width = 30)
    private String honor;

    /** 0惩处，1奖励 ; */
    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL )
    @ApiModelProperty(value = "0惩处，1奖励")
    @Excel(name = "奖惩",readConverterExp = "0=惩处,1=奖励",sort = 3)
    private Long reward;

    /** 0个人，1团队 ; */
    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL )
    @ApiModelProperty(value = "0个人，1团队")
    //@Excel(name = "团队个人",readConverterExp = "0=个人,1=团队")
    private Long teamHonor;

    /** 类型，字典honor_type_org,负数为惩处 ; */
    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL )
    @ApiModelProperty(value = "组织奖惩，字典honor_type_org,负数为惩处")
    @Excel(name = "奖惩类型",dictType = "pb_org_reward",sort = 4,width = 30)
    private Long typeOrg;

    /** 授予日期 ; */
    @ApiModelProperty(value = "授予日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "授予日期", width = 20, dateFormat = "yyyy-MM-dd",sort = 6)
    private Date grantTime;

    /** 荣誉说明 ; */
    @ApiModelProperty(value = "荣誉说明")
    //@Excel(name = "荣誉说明")
    private String content;

    /** 图片地址 ; */
    @ApiModelProperty(value = "图片地址")
    private String pictureUrl;

    /** 附件地址 ; */
    @ApiModelProperty(value = "附件地址")
    private String fileUrl;

    /** 个人奖惩类型,字典honor_type_person,负数为惩处 ; */
    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL )
    @ApiModelProperty(value = "个人奖惩类型,字典honor_type_person,负数为惩处")
    @Excel(name = "奖惩类型",dictType = "pb_member_reward",sort = 4,width = 30)
    private String typePerson;

    /** 用户id ; */
    @ApiModelProperty(value = "用户id")
    private String userId;

    /** 用户名称 ; */
    @EasyWhereCondition
    @ApiModelProperty(value = "用户名称")
    @Excel(name = "姓名",sort = 2)
    private String userName;

    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL )
    Long deptId;

    /** 状态 ; */
    @ApiModelProperty(value = "状态,0正常")
    private Long status;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptName", getDeptName())
            .append("deptId", getDeptId())
            .append("honor", getHonor())
            .append("reward", getReward())
            .append("teamHonor", getTeamHonor())
            .append("typeOrg", getTypeOrg())
            .append("grantTime", getGrantTime())
            .append("content", getContent())
            .append("pictureUrl", getPictureUrl())
            .append("fileUrl", getFileUrl())
            .append("typePerson", getTypePerson())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("status", getStatus())
            .toString();
    }
}
